Printing devices (such as printers, facsimile devices, copiers, display monitors, multi-function peripherals (MFPs), and so forth) are frequently used in many aspects of business, industry and academic endeavors. Documents which are sent to a printing device for printing are sometimes referred to as print jobs. Print jobs may include references to one or more resources, such as fonts, forms, logos, macros, digital signatures, etc.
One or more resources may be downloaded with a print job and stored in the RAM of the printing device. For example, the PCL5e language supports a macro definition command (i.e., <Esc>&f#X) which can be used to download forms (i.e., overlays). In one method, the macro is downloaded in a print job as a temporary macro which is then only retained in RAM during the duration of the print job (i.e., job context). When the device completes the print job, resources stored in the job context portion of the RAM are released. Therefore, these resources are not available to subsequent jobs and the RAM is available for reuse by the next job process.
In another usage of the PCL5e macro command, the macro is downloaded in a print job as a permanent macro which is then retained in RAM across print jobs (i.e., device context). Subsequent print jobs can then reference the same macro without re-downloading the macro. In this case, the macros only persist while the device is powered up, since the macros are not stored in non-volatile memory. If the device is powered cycled, all permanent macros stored in RAM are lost.
In many printing devices, resources may be downloaded electronically (e.g., via a network or local port) into non-volatile storage. Typically, these devices implement a repository, such as a file system in non-volatile storage (e.g., a hard drive or flash memory). Where the repository is implemented as a file system, the downloaded resources may be stored as files. The printing device may also have means for associating the download resources with resource identifiers (e.g., an integer ID in PCL5e). When a print job makes a request for a resource using a resource ID, a resource locator obtains the resource from the non-volatile storage. The device may additionally retain a copy of the resource in RAM after the job has completed (i.e., device context). In this case, subsequent print jobs are able to directly retrieve the resource from RAM.
There are several issues that may arise in connection with managing multiple resources across multiple printing devices. It may be desirable for all of the printing devices to have access to a common set of resources. However, all of the printing devices may not necessarily use all of the resources. In addition, from time to time, some of the resources may be updated. Furthermore, some of the printing devices may not have sufficient non-volatile storage for all of the resources. Therefore, there is a need for an effective method for managing a plurality of resources across multiple printing devices.